package game;

import game.control.GameController;
import game.model.GameModels;
import game.view.GameWindow;

import javax.swing.*;
import java.util.Random;

public interface GameFactory {

    static JFrame makeGame(JFrame calleeWindow) {
        // 沿着依赖树调用
        GameModels model = new GameModels();
        GameController controller = new GameController(model, new Random());
        GameWindow gameWindow = new GameWindow(calleeWindow, controller, model);
        controller.initGame();
        return gameWindow;
    }


}

//import javax.swing.*;
//import java.awt.*;
//
//public class Main {
//
//    public static void main(String[] args) {
//        JFrame jf = new JFrame("用户登录");
//        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
//
//        // 创建一个垂直盒子容器, 用于存放所有的面板
//        Box vBox = Box.createVerticalBox();
//
//        // 第 1 个 JPanel, 使用默认的浮动布局
//        JPanel panel01 = new JPanel();
//        panel01.add(new JLabel("用户名"));
//        panel01.add(new JTextField(10));
//
//        // 第 2 个 JPanel, 使用默认的浮动布局
//        JPanel panel02 = new JPanel();
//        panel02.add(new JLabel("密码"));
//        panel02.add(new JPasswordField(10));
//
//        // 第 3 个 JPanel, 使用浮动布局, 并且容器内组件居中显示
//        JPanel panel03 = new JPanel(new FlowLayout(FlowLayout.CENTER));
//        panel03.add(new JButton("登录"));
//        panel03.add(new JButton("注册"));
//
//        // 把三个 JPanel 添加到垂直盒子容器中
//        vBox.add(panel01);
//        vBox.add(panel02);
//        vBox.add(panel03);
//
//        // 把垂直盒子容器作为内容面板添加到窗口
//        jf.setContentPane(vBox);
//
//        jf.pack(); // 调整窗口大小以适应内容
//        jf.setLocationRelativeTo(null); // 居中显示窗口
//        jf.setVisible(true); // 显示窗口
//    }
//
//}
